<div data-controller="ui--dialog" data-action="keydown->ui--dialog#handleFocusEvent">
  <div data-action="click->ui--dialog#open"><%= content_for(:dialog_trigger) %></div>

  <%= render "components/ui/shared/backdrop", as: "modal" %>

  <div
    role="dialog"
    aria-modal="true"
    data-state="closed"
    data-ui--dialog-target="dialog"
    class="<%= tw('hidden fixed left-[50%] top-[50%] z-50 w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg md:w-full sm:max-w-[425px]', options[:class]) %>"
    tabindex="-1"
    style="pointer-events: auto">
      <div><%= content_for(:dialog_content) %></div>
      <button
        data-ui--dialog-target="closeButton"
        type="button"
        class="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground">
        <svg
          xmlns="http://www.w3.org/2000/svg"
          width="24"
          height="24"
          viewBox="0 0 24 24"
          fill="none"
          stroke="currentColor"
          stroke-width="2"
          stroke-linecap="round"
          stroke-linejoin="round"
          class="h-4 w-4">
          <line
            x1="18"
            x2="6"
            y1="6"
            y2="18"></line>
          <line
            x1="6"
            x2="18"
            y1="6"
            y2="18"></line>
        </svg>
        <span class="sr-only">Close</span>
      </button>
  </div>
</div>
